# -*- coding: utf-8 -*-

bytecode_map = {
    #M指令集
    "move":"M",
    "move/from16":"M",
    "move/16":"M",
    "move-wide":"M",
    "move-wide/from16":"M",
    "move-wide/16":"M",
    "move-object":"M",
    "move-object/from16":"M",
    "move-object/16":"M",
    "move-result":"M",
    "move-result-wide":"M",
    "move-result-object":"M",
    "move-exception":"M",
    #R指令集
    "return-void":"R",
    "return":"R",
    "return-wide":"R",
    "return-object":"R",
    #G指令集
    "goto":"G",
    "goto/16":"G",
    "goto/32":"G",
    #I指令集
    "if-eq":"I",
    "if-ne":"I",
    "if-lt":"I",
    "if-ge":"I",
    "if-gt":"I",
    "if-le":"I",
    "if-eqz":"I",
    "if-nez":"I",
    "if-ltz":"I",
    "if-gez":"I",
    "if-gtz":"I",
    "if-lez":"I",
    #T指令集
    "aget":"T",
    "aget-wide":"T",
    "aget-object":"T",
    "aget-boolean":"T",
    "aget-byte":"T",
    "aget-char":"T",
    "aget-short":"T",
    "iget":"T",
    "iget-wide":"T",
    "iget-object":"T",
    "iget-boolean":"T",
    "iget-byte":"T",
    "iget-char":"T",
    "iget-short":"T",
    "sget":"T",
    "sget-wide":"T",
    "sget-object":"T",
    "sget-boolean":"T",
    "sget-byte":"T",
    "sget-char":"T",
    "sget-short":"T",
    #P指令集
    "aput":"P",
    "aput-wide":"P",
    "aput-object":"P",
    "aput-boolean":"P",
    "aput-byte":"P",
    "aput-char":"P",
    "aput-short":"P",
    "iput":"P",
    "iput-wide":"P",
    "iput-object":"P",
    "iput-boolean":"P",
    "iput-byte":"P",
    "iput-char":"P",
    "iput-short":"P",
    "sput":"P",
    "sput-wide":"P",
    "sput-object":"P",
    "sput-boolean":"P",
    "sput-byte":"P",
    "sput-char":"P",
    "sput-short":"P",
    #V指令集
    "invoke-virtual":"V",
    "invoke-super":"V",
    "invoke-direct":"V",
    "invoke-static":"V",
    "invoke-interface":"V",
    "invoke-virtual/range":"V",
    "invoke-super/range":"V",
    "invoke-direct/range":"V",
    "invoke-static/range":"V",
    "invoke-interface/range":"V",
}